
#ifndef _DEVWDM_H
#define _DEVWDM_H
#endif

typedef enum
{
		AnalogVideo_None       = 0x00000000,
        AnalogVideo_NTSC_M     = 0x00000001, 
        AnalogVideo_NTSC_M_J   = 0x00000002,  
        AnalogVideo_NTSC_433   = 0x00000004,
        AnalogVideo_PAL_B      = 0x00000010,
        AnalogVideo_PAL_D      = 0x00000020,
        AnalogVideo_PAL_H      = 0x00000080,
        AnalogVideo_PAL_I      = 0x00000100,
        AnalogVideo_PAL_M      = 0x00000200,
        AnalogVideo_PAL_N      = 0x00000400,
        AnalogVideo_PAL_60     = 0x00000800,
        AnalogVideo_SECAM_B    = 0x00001000,
        AnalogVideo_SECAM_D    = 0x00002000,
        AnalogVideo_SECAM_G    = 0x00004000,
        AnalogVideo_SECAM_H    = 0x00008000,
        AnalogVideo_SECAM_K    = 0x00010000,
        AnalogVideo_SECAM_K1   = 0x00020000,
        AnalogVideo_SECAM_L    = 0x00040000,
        AnalogVideo_SECAM_L1   = 0x00080000,
        AnalogVideo_PAL_N_COMBO = 0x00100000
        
} AnalogVideoStandard;

LONG APIENTRY devwdm_InitCard(int nID, HWND hWnd, int nWidth, int nHeight);
LONG APIENTRY devwdm_CloseCard(int nID);

LONG APIENTRY devwdm_GetVideoCompressorCount(int nID, int *Count);
char* APIENTRY devwdm_EnumVideoCompressor(int nID, int index);
LONG APIENTRY devwdm_ChooseVideoCompressor(int nID, int nVideoCompressorIndex, int nAudioCompressorIndex);

LONG APIENTRY devwdm_StartCaptureAVI(int nID, char* lpstrName, BOOL fbAudio);
LONG APIENTRY devwdm_StopCaptureAVI(int nID);


LONG APIENTRY devwdm_SetVideoStandard(int nID, LONG  VideoStandard);

LONG APIENTRY devwdm_SaveBmpFile(int nID, char* strFileName);
LONG APIENTRY devwdm_SetDisplayPos(int nID, int x, int y, int w, int h);

LONG APIENTRY devwdm_SetBrightNess(int nID, LONG brightness);
LONG APIENTRY devwdm_SetContrast(int nID, LONG contrast);
LONG APIENTRY devwdm_SetSaturation(int nID, LONG satu);
LONG APIENTRY devwdm_SetHue(int nID, LONG hue);

LONG APIENTRY devwdm_GetBrightNess(int nID, LONG *brightness);
LONG APIENTRY devwdm_GetContrast(int nID, LONG *contrast);
LONG APIENTRY devwdm_GetSaturation(int nID, LONG *satu);
LONG APIENTRY devwdm_GetHue(int nID, LONG *hue);

LONG APIENTRY devwdm_GetVideoPinCounts(int nID, LONG *OutputPins, LONG *InputPins);
LONG APIENTRY devwdm_RouteOutPin(int nID, LONG OutputPin);

LONG APIENTRY devwdm_StartVideoPreview(int nID);
LONG APIENTRY devwdm_SetCapturePin(int nID, int nCapWidth, int nCapHeight);